﻿using System;
using System.Collections.Generic;
using System.Text;

namespace FlashPay.Service.Interface
{
    using FlashPay.Entity;
    using FlashPay.Entity.Parameter;
    using FlashPay.Entity.Request.Order;
    using FlashPay.Entity.Response.Order;

    /// <summary>
    /// 订单明细业务接口
    /// </summary>
    public interface OrderRecordDetailService
    {
        /// <summary>
        /// 根据编号获取订单明细
        /// </summary>
        /// <param name="id">编号</param>
        /// <returns>SysRole</returns>
        OrderRecordDetailResponse Get(long orderNo, int detailId);

        /// <summary>
        /// 根据编号获取系统订单
        /// </summary>
        /// <param name="id">编号</param>
        /// <returns>SysRole</returns>
        OrderRecordDetailResponse GetOrderRecordDetail(long detailId);

        /// <summary>
        /// 新增、编辑
        /// </summary>
        /// <param name="request"></param>
        JResult EditOrAdd(OrderRecordDetailEditOrAddRequest request);

        /// <summary>
        /// 根据编号获取系统订单
        /// </summary>
        /// <param name="id">编号</param>
        /// <returns>SysRole</returns>
        JResult<OrderRecordResponse> GetOrderRecord(OrderRecordDetailQuery query);

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="detailId">系统编号</param>
        /// <returns></returns>
        JResult DeleteByDetailId(List<String> userPermission,int userId,int detailId);

        /// <summary>
        /// 分页查询
        /// </summary>
        /// <param name="query">查询条件</param>
        /// <returns>PagedList<Permission></returns>
        PagedList<OrderRecordDetailResponse> GetPager(OrderRecordDetailQuery query);
    }
}
